perm filename EMACS.CMD[UP,DOC] blob
sn#408700 filedate 1979-01-07 generic text, type C, neo UTF8
COMMENT ⊗ VALID 00011 PAGES
C REC PAGE DESCRIPTION
C00001 00001
C00002 00002 ↑R Commands defined in the EMACS editor (as of 08/21/78):
C00005 00003 Control-α
C00017 00004 Control-X
C00035 00005 Meta- is undefined.
C00053 00006 Control-Meta-
C00068 00007 Commands in file EMACS:
C00105 00008 Commands in file PURIFY:
C00109 00009 Commands in file TAGS:
C00113 00010 Commands in file ABSTR:
C00115 00011 Commands in file GRIND:
C00117 ENDMK
C⊗;
↑R Commands defined in the EMACS editor (as of 08/21/78):
Commands not listed here are self-inserting,
illegal, or trivial aliases of other commands
(as, Control-x for Control-X, or Control-I for Tab).
Backspace
moves back one character (or several).
Tab runs the macro ↑R Indent According to Mode
Indents suitably for the language you are using.
In fundamental mode, just inserts a Tab.
Linefeed
runs the macro ↑R Indent New Line
Inserts CRLF, then indents the second line.
Any spaces before the inserted CRLF are deleted.
Uses the definitions of CR and Tab to do the work,
except that if there is a Fill Prefix it is used to indent.
An argument is passed on to the definition of Tab.
Return runs the macro ↑R CRLF
Insert CRLF, or move onto blank line.
A blank line is one containing only spaces and tabs
(which are killed if we move onto it). In auto-fill mode, we may
break the line before the last word. A pre-comma arg inhibits this.
Altmode runs the macro ↑R Prefix Meta
Sets Meta-bit of following character.
It followed by an A is equivalent to a Meta-A.
If the Metizer character is Altmode, then metizing a ↑A
creates a Control-Meta-A. If the metizer is not Altmode,
then metizing a ↑A makes a plain Meta-A.
Given a first argument (as in "33,"), returns the
metized character; otherwise, executes its definition.
The value of the arg should be the metizer character itself
so we can tell whether it was an altmode.
Control-α
runs the macro ↑R Complement SAIL Mode
Start or stop printing the SAIL character set.
Control-Altmode
exits from ↑R mode.
Control-Space
runs the macro ↑R Set/Pop Mark
Sets or pops the ↑R-mode mark.
With no ↑U's, pushes . as the mark.
With one ↑U, pops the mark into .
With two ↑U's, pops the mark and throws it away.
Control-%
runs the macro ↑R Replace String
Replace string with another. Reads args with minibuffer.
Calls the Replace String command.
Control-;
runs the macro ↑R Indent for Comment
Move to or create comment.
Finds start of existing comment, or creates one at end of line.
Indents the comment to Q}Comment Column}.
With argument <n>, aligns the existing comments in the
next <n> lines, but does not create comments.
Q}Comment Begin} holds the string inserted to start a comment.
Q}Comment Start} holds the string recognized as starting an old one.
Q}Comment Rounding} holds the macro used when the code goes
past the comment column, to compute a new (larger) comment column
from the width of the code (default is "+1").
Control-<
runs the macro ↑R Mark Beginning
Set mark at beginning of buffer.
Control-=
runs the macro ↑R Where Am I
Print various things about where cursor is.
Print the X position, the Y position,
the octal code for the following character,
point absolutely and as a percentage of the total file size,
and the virtual boundaries, if any.
Control->
runs the macro ↑R Mark End
Set mark at end of buffer.
Control-@
runs the macro ↑R Set/Pop Mark
Sets or pops the ↑R-mode mark.
With no ↑U's, pushes . as the mark.
With one ↑U, pops the mark into .
With two ↑U's, pops the mark and throws it away.
Control-A
runs the macro ↑R Beginning of Real Line
Go to beginning of real line (after last CRLF).
Control-B
moves back one character (or several).
Control-C
runs the macro ↑R Prefix Control-Meta
Sets Control- and Meta-bits of following character.
It, followed by an A (or a Control-A),
is equivalent to a Control-Meta-A. Given a first argument
(as in "1,"), returns the metized character; otherwise,
executes its definition.
Control-D
deletes one character (or several) forward.
Control-E
runs the macro ↑R End of Real Line
Go to end of real line (before next CRLF).
Control-F
moves forward one character (or several).
Control-G
quits execution of any command.
Throws away any argument.
Control-K
runs the macro ↑R Kill Line
Kill to end of line, or kill an end of line.
Before a CRLF, the CRLF is killed.
Otherwise, everything up to the next CRLF is killed.
With argument (positive or negative), kill specified number of lines.
Killed text is pushed onto ..K for retrieval.
Control-L
runs the macro ↑R New Window
Choose new window putting point at center, top or bottom.
With no argument, chooses a window to put point at the center
(FS %CENTER} says where). An argument gives the line to put
point on; negative args count from the bottom.
Control-M
is the same as in a bare TECO.
Control-N
runs the macro ↑R Down Real Line
Move down vertically to next real line.
Continuation lines are skipped. If given after the
last LF in the buffer, makes a new one at the end.
Control-O
inserts one CRLF (or several) after point.
Thus, point does not move.
Control-P
runs the macro ↑R Up Real Line
Move up vertically to next real line.
Continuation lines are skipped.
Control-Q
runs the macro ↑R Quoted Insert
Reads a character and inserts it.
Control-R
runs the macro ↑R Reverse Search
Incremental Search Backwards.
Calls Incremental Search with a negative argument.
Control-S
runs the macro ↑R Incremental Search
Search for character string.
As characters are typed in, the accumulated string is
searched for. Characters may be rubbed out.
↑Q quotes special characters.
↑S repeats the search, forward, and ↑R repeats it backward.
If the accumulated string is empty, ↑R or ↑S either
reverses the direction of search or gobbles the previous
search string and searches for it again.
Altmode or any random control character exits
(anything but altmode is then executed).
If the accumulated string fails to be found,
you will be notified with one bell. You can then exit,
rub the bad characters out (or ↑G them all away),
or try searching in the opposite direction.
Quitting a successful search goes back to the starting
point of the search; quitting a failing search rubs out
enough characters to make it successful again.
Altmode when the string is empty makes the search
non-incremental by calling ↑R String Search.
Control-T
runs the macro ↑R Exchange Characters
Interchange the characters before and after the cursor.
With a positive argument it interchanges the characters before and
after the cursor, moves right, and repeats the specified number of
times, dragging the character to the left of the cursor right. With a
negative argument, it interchanges the two characters to the left of
the cursor, moves between them, and repeats the specified number of
times, exactly undoing the positive argument form. With a zero
argument, it interchanges the characters at point and mark.
No argument is like an argument of 1, except at the end of a line
the previous two characters are interchanged.
Control-U
runs the macro ↑R Universal Argument
Sets argument or multiplies it by four.
Followed by digits, uses them to specify the
argument for the command after the digits.
Not followed by digits, multiplies the argument by four.
Control-V
runs the macro ↑R Next Screen
Move down to display next screenful of text.
With argument, moves window down <arg> lines.
Control-W
runs the macro ↑R Kill Region
Kill from pointer to mark.
Killed text is pushed onto ..K for retrieval.
Control-Y
runs the macro ↑R Un-kill
Re-insert the last stuff killed.
Puts point after it and the mark before it.
An argument n says un-kill the n'th most recent
string of killed stuff (1 = most recent).
Control-Z
runs the macro ↑R Prefix Control-Meta
Sets Control- and Meta-bits of following character.
It, followed by an A (or a Control-A),
is equivalent to a Control-Meta-A. Given a first argument
(as in "1,"), returns the metized character; otherwise,
executes its definition.
Control-\
runs the macro ↑R Prefix Meta
Sets Meta-bit of following character.
It followed by an A is equivalent to a Meta-A.
If the Metizer character is Altmode, then metizing a ↑A
creates a Control-Meta-A. If the metizer is not Altmode,
then metizing a ↑A makes a plain Meta-A.
Given a first argument (as in "33,"), returns the
metized character; otherwise, executes its definition.
The value of the arg should be the metizer character itself
so we can tell whether it was an altmode.
Control-]
is the same as in a bare TECO.
Control-↑
runs the macro ↑R Prefix Control
Sets Control-bit of following character.
It followed by an = is equivalent to a Control-=.
Given a first argument (as in "1,"), returns the
controlified character; otherwise, executes its
definition.
Control-X
is an escape prefix command with these subcommands:
↑X ↑B runs the macro List Buffers
List numbers, names, files and modes of all buffers.
↑X ↑C runs the macro ↑R Return to Superior
Go back to TECO's controlling job.
With argument, saves the buffer first.
↑X ↑D runs the macro ↑R Directory Display
Display current buffer's file's directory.
Uses whatever directory display macro the user has
selected (put in Q}Directory Lister}). With non-zero argument, use the
minbuffer to specify the directory with ET.
↑X ↑E runs the macro ↑R Edit File
Visit file, writing back changes automatically.
If you alter the file, then the next attempt to read in a file
will save this one automatically. Also, auto saving will save
using the file's real name, if possible.
↑X ↑F runs the macro ↑R Find File
Visit a file in its own buffer.
A nonzero argument inhibits auto saving for this file.
↑X Tab runs the macro ↑R Indent Rigidly
Shift text in region sideways as a unit.
All the lines in the region (first character between point and mark)
have their indentation incremented by the numeric argument
of this command (which may be negative).
↑X ↑L runs the macro ↑R Lowercase Region
Convert point to mark to lower case.
↑X ↑N runs the macro ↑R Set Goal Column
Set (or flush) a permanent goal for vertical motion.
With no argument, makes the current column the goal for vertical
motion commands. They will always try to go to that column.
With argument, clears out any previously set goal. Only
the ↑R Up Real Line and Down Real Line macros are affected.
↑X ↑O runs the macro ↑R Delete Blank Lines
Kill all blank lines around this line's end.
If done on a non-blank line, kills all spaces and tabs
at the end of it, and all following blank lines
(Lines are blank if they contain only spaces and tabs).
If done on a blank line, deletes all preceding blank lines as well.
↑X ↑P runs the macro ↑R Mark Page
Put point at top of page, mark at end.
At the beginning of a page, go to the next page.
A numeric arg specifies the page: 0 for current, 1 for next,
-1 for previous, larger numbers to move many pages.
q}Page Delimiter} may contain the string used to
separate pages (or several alternatives, separated by ↑O).
↑X ↑Q runs the macro ↑R Do Not Write File
Don't write back this buffer automatically.
The next time a file is read into this buffer, it will
not be written out to its old file. If you change your mind about
some editing, you can give this command, then visit some other
file (Alternatively, use MM Revert File).
With argument, switches to automatic write-back mode.
↑X ↑R runs the macro ↑R Read File
Read file, no automatic writing.
The filenames are read from the TTY.
Changes made will not be written back unless you
give an explicit command.
↑X ↑S runs the macro ↑R Save File
Save buffer on disk if modified.
Auto Save mode uses this macro.
If auto-saving is enabled, then we write to filenames read
or to a separate auto-save filename. If auto-saving is off,
or if given an argument, we always write to the filenames read.
"1," as argument indicates that this call was not explicitly
requested, and the user should be asked to confirm if
the file has become a lot smaller.
↑X ↑T runs the macro ↑R Mini Visited File
Minibuffer setting defaults to buffer filenames.
With no argument, runs a minibuffer initialized with
an ET command containing the current buffer's filenames.
Thus, the default filenames get set to the buffer filenames.
With an argument, puts the old defaults in the ET.
This doesn't change the defaults; it just shows them.
↑X ↑U runs the macro ↑R Uppercase Region
Convert point to mark to upper case.
↑X ↑V runs the macro ↑R Visit File
Visit file, asking about writing back changes.
If you alter the file, then the next attempt to read in a file
will ask whether you want this one written back out.
↑X ↑W runs the macro Write File
Change buffer filenames and write out.
Follow by filename as string argument. "1," says called by ↑X↑S;
inhibits calling & Set Mode Line and auto-save reinitialization.
Also inhibits setting filenames (in case they are ←↑RSV).
"-1," as argument inhibits updating the buffer's file cdate as well.
If not at top level (can't switch files now),
doesn't update anything about the current buffer,
but does return the written file's creation date so the caller can store it.
↑X ↑X runs the macro ↑R Exchange Point and Mark
Exchange pointer and mark.
↑X ↑Z runs the macro ↑R Return to Superior
Go back to TECO's controlling job.
With argument, saves the buffer first.
↑X Altmode runs the macro ↑R Re-execute Minibuffer
Re-execute the last minibuffered commands.
With a numeric argument N, re-executes the N'th most recent minibuffer.
↑X # runs the macro ↑R Change Font Region
Puts the region in a different font (R).
The font to change to is specified with a numeric argument.
Inserts ↑F<n> before and ↑F* after.
A negative arg removes font changes in or next to region.
↑X . runs the macro ↑R Set Fill Prefix
Defines Fill Prefix from current line.
All of the current line up to point becomes the value
of Q}Fill Prefix}. Auto Fill Mode and ↑J insert the
prefix on each line; Fill Region assumes that each
non-blank line starts with the prefix (which is ignored
for filling purposes).
To stop using a Fill Prefix, do ↑R Set Fill Prefix
at the front of a line.
↑X 1 runs the macro ↑R One Window
Display only one window.
Normally, we display what used to be in the top window,
but a numeric argument says to display what was in the bottom one.
↑X 2 runs the macro ↑R Two Windows
Show two windows and select window two.
An argument > 1 means give window 2 the same buffer as in Window 1.
A pre-comma argument means keep the cursor in window 1.
↑X 3 runs the macro ↑R View Two Windows
Show two windows but stay in first.
↑X : runs the macro ↑R Set Column
Set some column variable to current column.
Reads the name of the column variable to set from the terminal.
↑X ; runs the macro ↑R Set Comment Column
Set comment column to current hpos.
With argument, sets comment column from position of previous comment
and then makes or moves a comment to that position on this line.
↑X = runs the macro ↑R Where Am I
Print various things about where cursor is.
Print the X position, the Y position,
the octal code for the following character,
point absolutely and as a percentage of the total file size,
and the virtual boundaries, if any.
↑X A runs the macro ↑R Append to Buffer
Append region to specified buffer.
The buffer's name is read from the tty; it is created if nonexistent.
A numeric argument causes us to "prepend" instead.
We always insert the text at that buffer's pointer, but when
"prepending" we leave the pointer before the inserted text.
↑X B runs the macro Select Buffer
Select or create buffer, given its name.
If called from a ↑R character, read the buffer name from the terminal
or should be given a buffer number as a numeric arg.
As a subroutine, needs a buffer number (or buffer name pointer) as a
prefix arg, or a buffer name as a string arg.
If there is a buffer with that name, it is selected.
Otherwise, a buffer with that name is created and selected.
When a new buffer is selected the first time, if Q}Buffer Creation Hook}
is nonzero, it is run after the buffer is selected.
↑X D runs the macro ↑R Dired
Run MM Dired } for the directory of the current buffer file.
With no argument, edits that directory.
With an argument of 1, shows only the versions of the file in the buffer.
With an argument of 4, asks for input, only versions of that file are shown.
↑X F runs the macro ↑R Set Fill Column
Set fill column to current hpos.
↑X G runs the macro ↑R Get Q-reg
Get contents of Q-reg (reads name from tty).
Usually leaves the pointer before, and the mark after, the text.
With argument, puts point after and mark before.
When used as a subroutine, if this macro is given
an argument before a comma, that argument becomes
the first character of the q-reg name.
↑X I runs the macro ↑R Info
MM Info} with null argument.
↑X K runs the macro Kill Buffer
Kill the buffer with specified name.
Takes name as a string (suffix) argument, or reads it from terminal.
Alternatively, the name (as string pointer) or the buffer
number may be given as a prefix argument.
If the buffer has changes in it, we offer to write it out.
↑X L runs the macro ↑R Count Lines Page
Type number of lines on this page.
Also add, in parentheses, the number of lines on the page
before point, and the number of lines after point.
↑X M runs the macro Mail
Mail a message, with RMAIL's M option.
Lets you edit a message with ↑R, then send it when you
exit the ↑R. Use ↑G to abort the message, after which
MM Mail with an argument will re-enter. Put the text
of the message after the line which says
--Text follows this line--. Before that line can go only
header items, like the "From:" that is provided for you.
↑X N runs the macro ↑R Set Bounds Region
Narrow buffer bounds to point and mark.
↑X O runs the macro ↑R Other Window
Switch to the other window.
If both windows are showing, the pointer moves into the
other one. If only window 1 is visible, then the
windows are exchanged: what used to be in window 2
(invisible) is now in window 1 (visible), and vice versa.
An argument means switch windows but select the same
buffer in the other window.
↑X P runs the macro ↑R Set Bounds Page
Narrow buffer bounds to one page.
Numeric arg specifies which page: 0 means this one,
1 means the next one, -1 means the previous one.
No arg means next page, or current page if bounds are wide open.
Args larger than one move several pages.
q}Page Delimiter} may contain the string used to
separate pages (or several alternatives, separated by ↑O).
↑X R runs the macro ↑R RMAIL
Read mail. See topic RMAIL in INFO.
Uses a null command string for RMAIL.
Good for re-entering after exiting RMAIL with ↑X.
↑X W runs the macro ↑R Set Bounds Full
Widen virtual bounds to whole buffer.
↑X X runs the macro ↑R Put Q-reg
Put point to mark into q-reg (reads name from tty).
With an argument, the text is also deleted.
When used as a subroutine, if this macro is given
an argument before a comma, that argument becomes
the first character of the q-reg name.
↑X ↑ runs the macro ↑R Grow Window
Make this window (or minibuffer) use more lines.
Argument is number of extra lines (can be negative).
↑X ← runs the macro ↑R Underline Region
Puts underlines a la R around the region.
A negative argument removes underlines in or next to region.
Q}Underline Begin} and Q}Underline End} may be set to the strings
to be used to begin and end underlines.
Meta- is undefined.
Meta-↓ is undefined.
Meta-α is undefined.
Meta-β is undefined.
Meta-∧ is undefined.
Meta-¬ is undefined.
Meta-ε is undefined.
Meta-π is undefined.
Meta-Backspace
is undefined.
Meta-Linefeed
runs the macro ↑R Indent New Comment Line
Inserts CRLF, then starts new comment.
If done when not in a comment, acts like ↑R Indent New Line.
Q}Comment End} is inserted to terminate a comment.
Meta- is undefined.
Meta-
is undefined.
Meta-Return
runs the macro ↑R Back to Indentation
Move to end of this line's indentation.
Meta-∞ is undefined.
Meta-∂ is undefined.
Meta-⊂ is undefined.
Meta-⊃ is undefined.
Meta-∩ is undefined.
Meta-∪ is undefined.
Meta-∀ is undefined.
Meta-∃ is undefined.
Meta-⊗ is undefined.
Meta-↔ is undefined.
Meta-_ is undefined.
Meta-→ is undefined.
Meta-~ is undefined.
Meta-Altmode
runs the macro ↑R Execute Minibuffer
Read and run TECO commands.
Uses the minibuffer to read them. Pushes the command string
onto a ring buffer in Q.N. An explicit argument initializes
the minibuffer with the command from the top of that ring buffer.
Once inside the minibuffer, C-M-Y pops to previous saved
minibuffer commands, going around the ring.
Meta-≤ is undefined.
Meta-≥ is undefined.
Meta-≡ is undefined.
Meta-∨ is undefined.
Meta-Space
is undefined.
Meta-! is undefined.
Meta-" is undefined.
Meta-# runs the macro ↑R Change Font Word
Puts the previous word in a different font (R).
The font to change to is specified with a numeric argument.
No arg means move last font change forward past next word.
A negative arg means move last font change back one word.
Meta-$ is undefined.
Meta-% runs the macro ↑R Query Replace
Query Replace string macro using the minibuffer.
Calls the Query Replace command.
Meta-& is undefined.
Meta-' is undefined.
Meta-( runs the macro ↑R Make ()
Insert () putting point between them.
Also make a space before them if appropriate.
With argument, put the ) after the specified number
of already existing s-expressions. Thus, with argument 1,
puts extra parens around the following s-expression.
Meta-) runs the macro ↑R Move Over )
Move over a ), updating indentation.
Any indentation before the ) is deleted.
LISP-style indentation is inserted after the ).
Meta-* is undefined.
Meta-+ is undefined.
Meta-, is undefined.
Meta-. runs the macro ↑R Find Tag
Jump to the definition of a tag.
This version loads the TAGS package and then calls it.
Meta-/ runs the macro ↑R Describe
Describes a ↑R command.
The command character is read from the terminal.
Alternatively, the command char and definition may be fed as
numeric args, in which case the character's name is not printed.
Meta-: is undefined.
Meta-; runs the macro ↑R Indent for Comment
Move to or create comment.
Finds start of existing comment, or creates one at end of line.
Indents the comment to Q}Comment Column}.
With argument <n>, aligns the existing comments in the
next <n> lines, but does not create comments.
Q}Comment Begin} holds the string inserted to start a comment.
Q}Comment Start} holds the string recognized as starting an old one.
Q}Comment Rounding} holds the macro used when the code goes
past the comment column, to compute a new (larger) comment column
from the width of the code (default is "+1").
Meta-< runs the macro ↑R Goto Beginning
Go to beginning of buffer (leaving mark behind).
With arg from 0 to 10, goes that many tenths of the file
down from the beginning.
Meta-= runs the macro ↑R Count Lines Region
Type number of lines from point to mark.
Meta-> runs the macro ↑R Goto End
Go to end of buffer (leaving mark behind).
With arg from 0 to 10, goes up that many tenths of the file from the end.
Meta-? runs the macro ↑R Describe
Describes a ↑R command.
The command character is read from the terminal.
Alternatively, the command char and definition may be fed as
numeric args, in which case the character's name is not printed.
Meta-@ runs the macro ↑R Mark Word
Set mark 1 (or n) words from point.
Meta-A runs the macro ↑R Backward Sentence
Move to beginning of sentence.
A sentence is ended by a ., ? or ! followed by
two spaces or a CRLF (with optional space), with
any number of "closing characters" ", ', ) and ] between.
A sentence also starts after a blank line.
Meta-B runs the macro ↑R Backward Word
Move backward over one word
Meta-C runs the macro ↑R Uppercase Initial
Put next word in lower case, but capitalize initial.
Meta-D runs the macro ↑R Kill Word
Kill next word.
Meta-E runs the macro ↑R Forward Sentence
Move to end of this sentence.
A sentence is ended by a ., ? or ! followed by
two spaces or a CRLF (with optional space), with
any number of "closing characters" ", ', ) and ] between.
A sentence also ends before a blank line.
Meta-F runs the macro ↑R Forward Word
Move forward over one word
Meta-G runs the macro ↑R Fill Region
Fill text from point to mark.
Q}Fill Column} specifies the desired text width.
An explicit positive argument causes adjusting instead of filling.
A negative argument causes "un-filling": removal of excess spaces.
Meta-H runs the macro ↑R Mark Paragraph
Put point and mark around this paragraph.
In between paragraphs, puts it around the next one. See documentation
on ↑R Backward Paragraph for paragraph definition.
Meta-I runs the macro ↑R Tab to Tab Stop
Insert filling till next tab stop.
Filling may be whitespace, or an arbitrary pattern of characters,
controlled by Q}Tab Stop Definitions}, which has two lines.
The second line has spaces except at the tab stop columns.
A colon indicates a tab stop to be filled to with indentation;
a period indicates a tab stop to be filled to by copying the
characters from the first line above the horizontal positions
to be filled.
Meta-J runs the macro ↑R Indent New Comment Line
Inserts CRLF, then starts new comment.
If done when not in a comment, acts like ↑R Indent New Line.
Q}Comment End} is inserted to terminate a comment.
Meta-K runs the macro ↑R Kill Word
Kill next word.
Meta-L runs the macro ↑R Lowercase Word
Convert one word to lower case, moving past it.
Meta-M runs the macro ↑R Back to Indentation
Move to end of this line's indentation.
Meta-N runs the macro ↑R Down Comment Line
Move to start of next line's comment.
Equivalent to ↑R Down Real Line followed by ↑R Indent For Comment.
Meta-O is undefined.
Meta-P runs the macro ↑R Up Comment Line
Move to start of previous line's comment.
Equivalent to ↑R Up Real Line followed by ↑R Indent For Comment.
Meta-Q runs the macro ↑R Fill Paragraph
Fill (or adjust) this (or next) paragraph.
Point stays the same (but text may move past it due to filling).
A positive numeric argument says adjust rather than fill.
A negative argument says un-fill by removing excess spaces.
Meta-R runs the macro ↑R Move to Screen Edge
Jump to top or bottom of screen.
Like ↑R New Window except that point is changed instead of the window.
With no argument, jumps to the center, according to FS %CENTER}.
An argument specifies the number of lines from the top,
(negative args count from the bottom).
Meta-S runs the macro ↑R Center Line
Center this line's text within the line.
With argument, centers that many lines and moves past.
The width is Q}Fill Column}, or if that is zero, FS Width}-10.
Meta-T runs the macro ↑R Exchange Words
Interchange the words before and after the cursor.
With a positive argument it interchanges the words before and
after the cursor, moves right, and repeats the specified number of
times, dragging the word to the left of the cursor right. With a
negative argument, it interchanges the two words to the left of
the cursor, moves between them, and repeats the specified number of
times, exactly undoing the positive argument form. With a zero
argument, it interchanges the words at point and mark.
Meta-U runs the macro ↑R Uppercase Word
Convert one word to upper case, moving past it.
Meta-V runs the macro ↑R Previous Screen
Move up to display previous screenful of text.
With arg, move window back <arg> lines.
Meta-W runs the macro ↑R Copy Region
Stick region into kill-ring without killing it.
Like killing and getting back, but doesn't mark buffer modified.
Meta-X runs the macro ↑R Execute Completed MM Command
Read an MM command from the terminal with completion.
This command prompts at the bottom of the screen with "MM " and reads the
name of an EMACS command. Name completion is done as the command name is
typed (for more information type the HELP key when typing the command name).
Once the command name is read a } is printed and arguments to the command are
read. No completion is done when typing the arguments.
Internals:
Uses & Read Command Name and & Read Line to echo at bottom of screen.
If the variable }Read Command Prompt} exists it specifies the prompt string;
otherwise "MM " is used. A numeric argument is passed along to the MM
command. The command string is saved on the minibuffer ring
so that ↑R Re-execute Mini will redo it, and ↑R Execute Mini
with argument will get it back for editing.
Meta-Y runs the macro ↑R Un-kill Pop
Correct a ↑R Un-kill to use an earlier kill.
Requires that the region contain the most recent killed stuff
(as it does after a ↑R Un-kill), and replaces that with the
previous killed stuff, which is rotated to the front of
the ring buffer in ..K. With 0 as argument, just deletes the
region with no replacement (but only if just after an Un-kill).
Meta-Z is undefined.
Meta-[ runs the macro ↑R Backward Paragraph
Move to start of this (or last) paragraph.
A blank line followed by a nonblank one starts a paragraph.
A line whose predecessor is nonblank starts a paragraph
if its first character is matched by the TECO search string
in the variable Q}Paragraph Delimiter} or the one in Q}Page Delimiter}.
Specially, if Q}Paragraph Delimiter} starts with a ".", then any line
which starts with a "." is a paragraph unto itself.
Meta-\ runs the macro ↑R Delete Horizontal Space
Delete all spaces and tabs around point.
Meta-] runs the macro ↑R Forward Paragraph
Move to start of next paragraph.
See documentation on ↑R Backward Paragraph.
Meta-↑ runs the macro ↑R Delete Indentation
Kill CRLF and indentation at front of line.
Leaves one space in place of them. With argument,
moves down one line first (killing CRLF after current line).
Meta-← runs the macro ↑R Underline Word
Puts underlines around the previous word (R).
If there is an underline begin or end near that word,
it is moved forward one word.
An argument specifies the number of words, and the direction:
positive means forward.
Meta-` is undefined.
Meta-{ is undefined.
Meta-| is undefined.
Meta-} is undefined.
Meta-~ runs the macro ↑R Not Modified
Pretend that this buffer hasn't been altered.
Meta-Rubout
runs the macro ↑R Backward Kill Word
Kill last word.
Control-Meta-
is undefined.
Control-Meta-↓
is undefined.
Control-Meta-α
is undefined.
Control-Meta-β
is undefined.
Control-Meta-∧
is undefined.
Control-Meta-¬
is undefined.
Control-Meta-ε
is undefined.
Control-Meta-π
is undefined.
Control-Meta-Backspace
runs the macro ↑R Mark Defun
Put point and mark around this DEFUN (or next).
Control-Meta-Tab
runs the macro ↑R Indent for LISP
Indent this line to make ground LISP code.
At column Q}LISP Wrap Column} (default infinite) we wrap around
to column 1 (not 0!). When you go down a level in list structure,
if Q}LISP Indent Offset} is zero, we indent under the first argument;
if it is nonzero, we indent that many columns past the (.
A pre-comma arg means return the appropriate indentation level
but don't actually change the indentation, and don't treat ;;; comments
specially.
Control-Meta-
is undefined.
Control-Meta-
is undefined.
Control-Meta-Return
runs the macro ↑R Back to Indentation
Move to end of this line's indentation.
Control-Meta-∞
is undefined.
Control-Meta-∂
is undefined.
Control-Meta-⊂
is undefined.
Control-Meta-⊃
is undefined.
Control-Meta-∩
is undefined.
Control-Meta-∪
is undefined.
Control-Meta-∀
is undefined.
Control-Meta-∃
is undefined.
Control-Meta-⊗
is undefined.
Control-Meta-↔
is undefined.
Control-Meta-_
is undefined.
Control-Meta-→
is undefined.
Control-Meta-~
is undefined.
Control-Meta-Altmode
inserts itself.
Control-Meta-≤
is undefined.
Control-Meta-≥
is undefined.
Control-Meta-≡
is undefined.
Control-Meta-∨
is undefined.
Control-Meta-Space
is undefined.
Control-Meta-!
is undefined.
Control-Meta-"
is undefined.
Control-Meta-#
is undefined.
Control-Meta-$
is undefined.
Control-Meta-%
is undefined.
Control-Meta-&
is undefined.
Control-Meta-'
is undefined.
Control-Meta-(
runs the macro ↑R Backward Up List
Move up one level of list structure, backward.
Control-Meta-)
runs the macro ↑R Forward Up List
Move up one level of list structure, forward.
Control-Meta-*
is undefined.
Control-Meta-+
is undefined.
Control-Meta-,
is undefined.
Control-Meta-.
is undefined.
Control-Meta-/
is undefined.
Control-Meta-:
is undefined.
Control-Meta-;
runs the macro ↑R Kill Comment
Kills the comment (if any) on the current line.
Control-Meta-<
is undefined.
Control-Meta-=
is undefined.
Control-Meta->
is undefined.
Control-Meta-?
runs the macro ↑R Documentation
Run a specified documentation macro.
You type a character. To get a basic introduction to EMACS, type B.
To find out what a certain character does, type C and that character.
To find out what a named command does, type D and the command name.
To find all commands whose names contain a certain keyword,
type A and then the keyword.
To find out the last 60 characters you typed, if you are confused, type L.
To run the INFO program for detailed documentation, type I.
More advanced options:
T - run TECDOC; V - run Variable Apropos; W - run Where Is;
M - print the contents of the mode line (for printing ttys).
SPACE repeats most recent A, D, T, V or W request.
Control-Meta-@
runs the macro ↑R Mark Sexp
Set mark 1 (or n) s-expressions from point.
Control-Meta-A
runs the macro ↑R Beginning of DEFUN
Move to beginning of this or previous DEFUN.
Leaves the mark behind, in case typed by accident.
With a negative argument, moves forward to the beginning of a DEFUN.
The beginning of a DEFUN is any ( in column 0.
Control-Meta-B
runs the macro ↑R Backward Sexp
Move backward past one S-expression (or several).
Control-Meta-C
exits from ↑R mode.
Control-Meta-D
runs the macro ↑R Down List
Move down one level of list structure, forward.
Control-Meta-E
runs the macro ↑R End of DEFUN
Move to end of this or next DEFUN.
Leaves the mark behind, in case typed by accident.
With argument of 2, finds end of following DEFUN.
With argument of -1, finds end of previous DEFUN, etc.
A DEFUN is a list whose ( falls in column 0.
Its end is after the CRLF following its ).
Control-Meta-F
runs the macro ↑R Forward Sexp
Move forward past one S-expression (or several).
Control-Meta-G
runs the macro ↑R Format Code
Calls Grind Sexp or MACSYMA Grind depending on the current MODE.
Control-Meta-H
runs the macro ↑R Mark Defun
Put point and mark around this DEFUN (or next).
Control-Meta-I
runs the macro ↑R Indent for LISP
Indent this line to make ground LISP code.
At column Q}LISP Wrap Column} (default infinite) we wrap around
to column 1 (not 0!). When you go down a level in list structure,
if Q}LISP Indent Offset} is zero, we indent under the first argument;
if it is nonzero, we indent that many columns past the (.
A pre-comma arg means return the appropriate indentation level
but don't actually change the indentation, and don't treat ;;; comments
specially.
Control-Meta-K
runs the macro ↑R Kill Sexp
Kill next s-expression.
Control-Meta-M
runs the macro ↑R Back to Indentation
Move to end of this line's indentation.
Control-Meta-N
runs the macro ↑R Forward List
Move forward past one list (or several).
Control-Meta-O
runs the macro ↑R Split Line
Move rest of this line vertically down.
Inserts a CRLF, and then enough tabs/spaces so that
what had been the rest of the current line is indented as much as
it had been. Point does not move, except to skip over indentation
that originally followed it.
With argument, makes extra blank lines in between.
Control-Meta-P
runs the macro ↑R Backward List
Move backward past one list (or several).
Control-Meta-Q
runs the macro ↑R Indent SEXP
Lisp Indent all lines containing the next s-expr.
Used when full grinding is not desirable.
A numeric argument temporarily sets LISP Indent Offset.
A pre-comma argument means indent this line and all
remaining lines up to Z (used by <n>Tab as subroutine).
Control-Meta-R
runs the macro ↑R Reposition Window
Reposition screen window appropriately.
Tries to get all of current paragraph, defun, etc. on screen.
Never moves the pointer; only wins if FS %TOP and FS %BOTTOM are zero.
Control-Meta-S
is undefined.
Control-Meta-T
runs the macro ↑R Exchange Sexps
Interchange the S-expressions before and after the cursor.
With a positive argument it interchanges the S-expressions before and
after the cursor, moves right, and repeats the specified number of
times, dragging the S-expression to the left of the cursor right. With a
negative argument, it interchanges the two S-expressions to the left of
the cursor, moves between them, and repeats the specified number of
times, exactly undoing the positive argument form. With a zero
argument, it interchanges the S-expressions at point and mark.
Control-Meta-U
runs the macro ↑R Backward Up List
Move up one level of list structure, backward.
Control-Meta-V
is undefined.
Control-Meta-W
runs the macro ↑R Append Next Kill
Make following kill commands append to last batch.
Thus, ↑K↑K, cursor motion, this command, and ↑K↑K,
generate one block of killed stuff, containing two lines.
Control-Meta-X
runs the macro ↑R MM Via Minibuffer
Minibuffer with "MM" already there.
Any numeric argument is passed on to the MM command.
Control-Meta-Y
is undefined.
Control-Meta-Z
exits from ↑R mode.
Control-Meta-[
runs the macro ↑R Beginning of DEFUN
Move to beginning of this or previous DEFUN.
Leaves the mark behind, in case typed by accident.
With a negative argument, moves forward to the beginning of a DEFUN.
The beginning of a DEFUN is any ( in column 0.
Control-Meta-\
runs the macro ↑R Indent Region
Indent all lines between point and mark.
With argument, indents each line to exactly that column.
A line is processed if its first character is in the region.
The mark is left after the last line processed.
May be given a subroutine to use on each line instead of
indenting by making the subroutine a prefix arg before a
comma. The subroutine should not move down a line. It can
expect MM & Indent to be in QK.
Control-Meta-]
runs the macro ↑R End of DEFUN
Move to end of this or next DEFUN.
Leaves the mark behind, in case typed by accident.
With argument of 2, finds end of following DEFUN.
With argument of -1, finds end of previous DEFUN, etc.
A DEFUN is a list whose ( falls in column 0.
Its end is after the CRLF following its ).
Control-Meta-↑
runs the macro ↑R Delete Indentation
Kill CRLF and indentation at front of line.
Leaves one space in place of them. With argument,
moves down one line first (killing CRLF after current line).
Control-Meta-`
is undefined.
Control-Meta-{
is undefined.
Control-Meta-|
is undefined.
Control-Meta-}
is undefined.
Control-Meta-~
is undefined.
Control-Meta-Rubout
runs the macro ↑R Backward Kill Sexp
Kill last s-expression.
Commands in file EMACS:
List Commands
C List all user commands.
Lists all macros of class "C", intended to be called directly
by the user with MM. Other macros include subroutines (class S)
and ↑R command definitions (class "↑R"). Use List Subroutines
and List ↑R Commands to see their names.
List Subroutines
C List all subroutines
(Macros intended mainly to be called by other macros).
Subroutines are identified by having class "S ".
Most subroutines have names starting with "& ".
List ↑R Commands
C List macros intended to be ↑R-commands
(whether or not they are actually put on any character now).
They are macros of class "↑R " (says their documentation).
Apropos
C MM Apropos}FOO} Lists macros with names containing FOO.
Spaces around the argument are NOT ignored - they must be matched
by spaces in the macro name.
Q}MM ...} variables which match FOO are also listed.
Where Is
C List the ↑R characters that run a given macro.
MM Where Is} ↑R Forward Word} will tell which character
moves forward one word. You can supply the macro as a
numeric arg instead of the name as a string arg.
Info
C Read documentation files.
Do MM Info} and it will take over from there.
When you exit, your place is remembered for when you re-enter.
Non-null string arg is pathname made out of Menu item names
separated by spaces.
List One File
C List the macros in one file (all classes).
The file name should be a string argument.
Example: MMList One File}EMACS}.
List Loaded Libraries
C List all loaded libraries' names.
List Variables
C List names and values of all variables.
Variables are referenced as q-registers (as in Q}Foo}) once
they have been created using mm Make Variable}.
Given a buffer as an argument, we insert the list into it.
Given a string pointer as an argument, we list only variables
whose names (or values, as printed) include that string.
Any arg inhibits the initial header and the final extra CRLF.
A nonzero precomma arg says consider only vars whose names start
with "MM ".
Variable Apropos
C List variables with names containing string arg.
Actually, matches are determined by what MM List Variables$ produces,
so if, e.g., an $MM ...$ variable is set to a command whose
name matches, that $MM...$ variable is listed.
Describe Macro
C mmDescribe}FOO} describes macro FOO.
Prints the full name and full documentation of the specified macro,
The name of a variable can also be specified.
The macro to be described can also be given as a prefix arg,
as in M.MFOO} MMDESCR}.
LISP Mode
C Set things up for editing LISP code.
Puts ↑R Indent for LISP on Tab, puts tab-hacking rubout on Rubout.
MIDAS Mode
C Set things up for editing MIDAS code.
C-M-N and C-M-P go to next and previous label.
C-M-A and C-M-E go to AC and EA fields, respectively.
C-M-D deletes next word and its terminator (eg, "FOO:").
Paragraphs are delimited only by blank lines.
TECO Mode
C Set things up for editing TECO code.
Makes Rubout the Tab-hacking Rubout. Tab does ↑R Indent Nested.
Loads the PURIFY library. Makes comments be bounded by "!* " and "!".
M-' moves forward over a TECO conditional; M-", back.
Text Mode
C Set things up for editing English text.
Puts ↑R Tab to Tab Stop on Tab.
Makes Auto Fill not indent new lines; says there are no comments.
Edit Tabular Text
C Temporarily set up for editing a table.
Makes Auto Fill indent the next line,
makes Tab be ↑R Tab to Tab Stop.
Edit Indented Text
C Temporarily set up for editing indented text.
Good when body of text is indented, but topics appear at the margin.
Tab is ↑R Indent Relative; auto fill indents lines.
Paragraphs start only with blank lines.
Fundamental Mode
C Return to EMACS's initial mode.
Macsyma Mode
C Enter a mode for editing Macsyma code.
Modifies the delimiter dispatch, ..D, appropriate for Macsyma syntax,
puts special rubout on rubout, sets parameters for comment hackery,
and defines Tab to be ↑R Indent Nested.
MUDDLE Mode
C Enter a mode for editing MUDDLE code.
Modifies the delimiter dispatch, ..D, appropriate for MUDDLE syntax,
puts special rubout on rubout, sets parameters for comment hackery,
and defines Tab to be ↑R Indent for LISP.
PL1 Mode
C Set up to edit PL/1 code.
Debug Mode
C Enter Teco macro debugging mode.
Reenter ↑R with two windows where buffer appears in window 1, and current macro
level is in window 2. Meta-D gets minibuffer which is stepped through.
No arg splits screen in half; pos arg is line number to split screen at.
Auto Fill Mode
C Turn Auto Fill mode on or off.
No arg or argument of 1 turns the mode on;
any other arg turns it off.
When it is on, lines are broken at the right margin
(position controlled by Q}Fill Column}) at spaces,
by doing a LF.
Atom Word Mode
C Make word commands deal with LISP atoms.
With argument of 0, makes them not deal with LISP atoms.
The commands affected include ↑R Forward Word, ↑R Backward Word,
↑R Mark Word, ↑R Kill Word, and ↑R Backward Kill Word.
Overwrite Mode
C Enters or leaves overwrite mode.
With argument of 1, or no argument, enters overwrite mode,
in which ordinary characters replace an existing character
instead of shoving the line over to the right.
In this mode, when you wish to insert without replacing,
Meta (non-control) characters insert the corresponding
un-metized characters. To get the normal (command) effect
of a Meta character, use the Metizer.
With an argument of 0 or 4, goes back to the normal (Insert) mode.
With an argument of 16 or -1, enters overwrite mode
but Meta-characters remain commands.
Indent Tabs Mode
C Enables or disables use of Tabs as indentation.
An argument of 1, or no argument, enables (that is also the default).
An explicit argument other than 1 disables.
Replace String
C Replace one string with another, globally.
mmReplace}FOO}BAR} replaces each FOO after point with a BAR.
A numeric argument means replace only FOOs which are
surrounded by delimiter characters. Works by calling Query Replace
and pretending you typed a !.
Query Replace
C Replace string, asking about each occurrence.
mm Query replace}FOO}BAR} displays the next FOO; you say what to do.
Space => replace it with BAR and show next FOO.
Rubout => don't replace, but show next FOO.
Comma => replace this FOO and show result, waiting for next command.
Period => replace this FOO and exit. Altmode => just exit.
↑ => return to site of previous FOO (actually, jump to mark).
↑W => kill this FOO and enter recursive ↑R.
↑R => enter ↑R mode recursively. ↑L => redisplay screen.
Exclamation mark => replace all remaining FOOs without asking.
Any other character exits and is read again.
To restart Query Replace after exit, if it was done with a minibuffer,
or M-X, use C-X Altmode or run the minibuffer with an argument.
If Q}Case Replace} is nonzero, BAR will be capitalized or all caps
if FOO was.
1 MM Query Replace}FOO}... will replace only FOOs that are
bounded on both sides by delimiter characters (according to ..D).
1,MM Query Replace}FOO}Commands} executes Commands as TECO commands
to perform the replacement. See the source code for Query Replace.
Keep Lines
C Delete all lines not containing specified string.
Covers from point to the end of the buffer.
Takes following string argument: mmKeep Lines}FOO}.
Flush Lines
C Delete all lines containing specified string.
Covers from point to the end of the buffer.
Takes following string argument: mmFlush Lines}FOO}.
Occur
C Displays text lines which contain a given string.
MM Occur}FOO} shows all following lines which contain FOO.
An arg <n> means type <n> lines before and after each occcurrence.
How Many
C Counts occurrences of a pattern, after point.
The format is: MM HOW MANY}<pattern>}
Tabify
C Convert spaces after point to tabs.
Groups of more than two spaces which
could be transparently replaced with a tab are.
Numeric arg specifies tab stop spacing; default is 8.
Untabify
C Converts all tabs after point to spaces.
Takes numeric arg saying how far apart tab stops are,
or assumes 8 columns apart as the default.
@ TECO
C Make XGP listing of macros file.
Example: 73 MM@ TECO}USRCOM >}20FG} (notice that
73 is the page height with the font 20FG).
20FG and 73 are actually the defaults, so that
MM@ TECO}USRCOM}} is equivalent. Actually runs
@ TECO from the library EMACS;PURIFY :EJ.
Tecdoc
C Look up information on Teco commands.
String arg is command, e.g. MM Tecdoc}F↑B} or MM Tecdoc}FS HPOS}.
Represent a control character with a "↑" not followed by a space.
The format of .INFO.;TECO ORDER is understood. Type "?" for help.
Actually runs the macro Tecdoc form the library EMACS;PURIFY :EJ.
Count Lines
C Returns the number of lines in the buffer.
mmCount Lines}=}} types the number. Given arguments, they
specify the range to be counted.
Load Library
C Load a pure file of macros.
Takes filename as string arg; default FN2 is :EJ.
Tries both the specified (or working) directory and EMACS;.
Runs the library's & Setup macro if there is one,
unless Load Library was given an argument.
Returns a pointer to the file, for macros' sake.
Run Library
C Run a library file macro.
MM Run Library}<Lib name>}<Macro name>} runs the macro
named <Macro name> out of the library <Library name>,
which is loaded temporarily (unless it is already in core).
If <Macro name> is null, "<ENTRY>" is used.
Kill Libraries
C Delete some loaded libraries from core.
Types the name and description of the library at the top of
the stack, and asks whether to kill it. If you say yes,
kills it, and asks about the next library, and so on.
List Library
C List contents of (not loaded) file of macros.
Specify the filename as a string argument. The file is
loaded in, listed, and then flushed from core.
DIRED
C Edit a directory. Runs DIRED from EMACS;DIRED :EJ.
Reap File
C Delete old versions of a file.
Takes one or more string arguments, each containing a
filespec. Each filespec is processed individually.
A null argument ends processing, but if the first is
null then the default file is processed.
Only files with a numeric FN2 are deleted.
The number of versions kept is the numeric argument,
or Q}File Versions Kept} if no argument (usually 2).
If there are more than that many versions, you are told
about the excess and asked whether to delete them.
In addition, if there is a file with FN2 = XGP, @XGP,
MEMO, or UNFASL, you are asked whether to delete it too.
Clean Directory
C Clean garbage out of a directory.
Takes the directory name (with semicolon) as a string argument.
For each FN1 in the directory, does MM Reap File (essentially),
which offers to delete any excess old versions.
A numeric argument is passed on to Reap File.
Compare Directories
C Compare directories on different ITS machines.
Calls ↑R on a "merged" listing of the two directories.
Takes string argument that should contain the name of the directory
to compare, the name of the foreign machine (as a device name),
and (optionally) a switch: /W, /S, /D or /L.
/W (the default) means show Whole dir (all files).
/S means show all files that are the Same in the two dirs.
/D means show all files that Differ.
/L means show only Last file for given FN1-machine pair.
Example: MM Compare Directories} MC:LISP;/S}.
Kill Variable
C Undefines a variable.
mmKill Variable}FOO} removes FOO's definition.
Make Variable
C Creates a variable (accessible via Q}name}).
After doing mm Make Variable}Foo}, you can do q}Foo}.
Returns the old value of the variable, or 0 for a new variable.
Set Variable Comment
C Puts a comment on a variable.
Format: MM Set Variable Comment}FOO}This variable is a test}.
The comment string goes in the third word of the three words
in ..Q used by each variable.
A numeric argument, if any, is used to set the variable.
Alter Options
C ↑R-mode editor of permanent options.
Displays a table of the variables which are options,
and their values, and puts you in ↑R mode.
A variable is an option if its comment starts with "*".
When you hit altmode and leave ↑R, the values are updated.
List Files
C Brief directory listing.
Lists directory N entries to a line, with the following
special characters to the left of the filenames:
: this is a link
! this file has not been backed up to tape yet
* this file has really been deleted but not yet
closed, or is otherwise locked.
(blank) this is a plain normal file
Also the top line contains in order, the device being
listed from, the directory, Free: followed by the number of
free blocks on the device, Used: followed by the number of
blocks this directory is taking up.
List All Directory Names
C List names of all disk directories.
RMAIL
C Read mail. Look under RMAIL with INFO.
Takes RMAIL command string as string argument.
To use the defaults, give a null command string,
as MM RMAIL}}. To specify an RMAIL file name,
$ is an easier alternative to }.
After exiting RMAIL temporarily with ↑X, MM RMAIL}}
(null argument) will re-enter it, and a non-null
argument to MM RMAIL} is not allowed.
Mail
C Mail a message, with RMAIL's M option.
Lets you edit a message with ↑R, then send it when you
exit the ↑R. Use ↑G to abort the message, after which
MM Mail with an argument will re-enter. Put the text
of the message after the line which says
--Text follows this line--. Before that line can go only
header items, like the "From:" that is provided for you.
EDIT ..D
C Delimiter table editor.
String arg is Q-register to edit. Default is ..D.
Response to Character: is character whose entry to edit,
or ↑G to quit, ↑Q to quote, or Altmode to leave the macro.
First char in delimiter table is space for delimiter
or A for alphanumeric. Second is space, (, ), /, |, ', or A
for lisp syntax. While editing an entry, Altmode exits
to read next character to edit.
Make Dispatch String
C Create a dispatch string for ..D, F↑A, etc.
First string arg should be the default entry for chars not
otherwise specified. Each following arg specifies one character;
it should contain the character and up to 5 characters of entry.
A null argument ends the call. Example:
MM Make Dispatch}AA}: }, }} makes each entry "AA "
except those for Colon and Comma, which are made " ".
The resulting dispatch string is returned as a value.
View Q-Register
C Type out contents of any type Q Reg.
String arg is name of the Q-register or variable.
The interpretation as a Q-register name takes priority
if either one would be possible.
View Buffer
C View the buffer with --More-- processing.
Particularly useful on fast pseudo display terminals like Tektronix.
Flushing the --More-- with ↑C leaves you centered in the current
window.
View File
C View the contents of a file.
The file is specified as a string argument
Get Date
C Insert the current time and date after point.
A date in FS IF CDATE} format can be given as a numeric
argument, to use instead of the current date.
The mark is put after the inserted text, and the region
inserted is returned so you can put this on a ↑R character.
Visit Tag Table
C Select a tag table file.
A tag table file is an index to the "tags" (labels, functions, etc.)
in one or more files of code, and allows the use of
↑R Find Tag to go directly to any one of them.
See also the TAGS program which makes tag table files.
A numeric argument sets Q}Tags Find File}, which if nonzero
makes TAGS switch files using separate buffers.
TXJ
C Runs the TECO XGP Justifier program.
Not released yet. Will eventually be documented under INFO.
Dissociated Press
C Print interesting random text based on text in buffer.
Arg is number of words of continuity at jumps,
or minus number of characters of continuity.
Edit Tab Stops
C Call ↑R to edit the buffer defining tab stops.
The second line has spaces except at the tab stop columns.
A colon indicates a tab stop to be filled to with indentation;
a period indicates a tab stop to be filled to by copying the
characters from the first line above the horizontal positions
to be filled. Uses a recursive ↑R, in which Overwrite Mode is set.
Grind Sexp
C Grind the sexp after the pointer.
Uses Q}Miser Column} to decide where to start using
"Miser" format, and Q}Fill Column} as the page width
to aim for.
Grind MACSYMA Code
C Format (indent) MACYSMA code.
When called from ↑R mode it grinds from . to <mark>, unless it
is given an argument in which case it does the command the cursor is
in. When called from regular TECO it the whole buffer if
given no argument or <n> MACSYMA commands after the . if given
an argument <n>
Visit File
C Read in a file, filing out previous file.
File name is string argument. Nonzero numeric arg
inhibits auto-saving until next Visit File.
Example: MM Visit File} .TECO.;TECORD >}.
A pre-comma argument sets Q}Inhibit Write}.
Find File
C Visit a file in its own buffer.
If the file is already in some buffer, select that buffer.
Otherwise, make a buffer named after the file's FN1 and
visit the file there.
If that buffer name is already in use, ask the user
for a name to use instead (it's legal to specify the same one).
A nonzero argument inhibits auto save for a newly loaded file.
We use Q}Find File Inhibit Write} to set up Q}Inhibit Write}
for files not previously in core.
Revert File
C Undo changes to a file.
Reads back the file being edited from disk
(or the most recent save file, if that isn't the same thing).
Write Region
C Write region to file.
Specify filenames with a suffix string argument.
Two numeric arguments may be used to specify the region,
which othersie is from point to mark.
Write File
C Change buffer filenames and write out.
Follow by filename as string argument. "1," says called by ↑X↑S;
inhibits calling & Set Mode Line and auto-save reinitialization.
Also inhibits setting filenames (in case they are ←↑RSV).
"-1," as argument inhibits updating the buffer's file cdate as well.
If not at top level (can't switch files now),
doesn't update anything about the current buffer,
but does return the written file's creation date so the caller can store it.
Insert File
C Read file, inserting within existing text.
File name is string argument. Example: MM Insert File}FOO BAR}.
The pointer is left at the beginning, and the mark at the end.
Append to File
C Append region to end of specified file.
The range to write can also be specified with numeric args.
Prepend to File
C Append region to start of specified file.
The range to write can also be specified with numeric args.
Auto Save Mode
C Turn auto save on or off immediately on current file.
(The default for newly visited files is Q}Auto Save Default}.)
Zero as argument => auto save mode is turned off.
Otherwise, arg is number of versions to keep around.
No arg => use the default.
A pre-comma arg is the number of characters
between auto saves, default 250.
Make Prefix Character
C Make definition for a ↑R command prefix.
Takes as string arg the name of a q-register, and
returns a consed up macro which, when run, will
use the common prefix-handler in q-reg .P
to dispatch through the q-vector assumed to be
in the specified q-reg. Also puts a suitable q-vector
in that q-reg if it contains 0. In that case, a numeric arg
specifies the length of the q-vector (default is 96).
Example: MMMAKE PREFIX CHARACTER}.L} U.↑RL
makes ↑L a prefix character with dispatch table in Q.L.
Backtrace
C View the frames on the macro-pdl.
Displays one invoked macro, copied into a buffer,
with point at the PC. Then reads a command character:
Linefeed or D goes down the stack (to earlier invocations),
↑ or U goes up to more recent invocations,
↑R calls ↑R on what you see, ↑L clears the screen,
B calls ↑R on the buffer that was being edited,
V displays a q-register's contents,
} runs a minibuffer, X or Q exits.
C continues erring function.
Top Level
C Return to the toplevel ↑R loop.
Select Buffer
C Select or create buffer, given its name.
If called from a ↑R character, read the buffer name from the terminal
or should be given a buffer number as a numeric arg.
As a subroutine, needs a buffer number (or buffer name pointer) as a
prefix arg, or a buffer name as a string arg.
If there is a buffer with that name, it is selected.
Otherwise, a buffer with that name is created and selected.
When a new buffer is selected the first time, if Q}Buffer Creation Hook}
is nonzero, it is run after the buffer is selected.
List Buffers
C List numbers, names, files and modes of all buffers.
List Locals
C List a specific buffer's local variables' names.
Takes name of buffer as a string argument.
Default is current buffer.
Kill Buffer
C Kill the buffer with specified name.
Takes name as a string (suffix) argument, or reads it from terminal.
Alternatively, the name (as string pointer) or the buffer
number may be given as a prefix argument.
If the buffer has changes in it, we offer to write it out.
Make Local Variable
C Make a variable local to the current buffer.
Its local value starts off the same as its global value.
Example: M.LFoo Variable} (since this macro lives in .L).
"1," as arg means assume that the local doesn't exist yet.
Make Local Q-register
C Make a q-register local to the current buffer.
String argument should be name of q-register, as in "A" or ".↑RA".
"1," as arg means assume that the local doesn't exist yet.
Kill Local Variable
C Kill one of the current buffer's local variables.
The global value is restored.
Kill Local Q-register
C Kill one of the current buffer's local q-registers.
The global value is restored.
Save All Files
C Offers to write back buffers which may need it.
For each buffer which is visiting a file and which
has been written, you are asked whether to save it.
A numeric arg means don't ask; save everything.
Kill Some Buffers
C Offers to kill each buffer, one by one.
If the buffer contains a modified file and you say to kill it,
you are asked whether to write the file out first.
Rename Buffer
C Change the name of the current buffer.
Commands in file PURIFY:
Compress File
C Compress file of macros.
Input file taken as string argument. Output is written
in file with FN2 of COMPRS. If the COMPRS file already
exists and is more recent, the operation is skipped
(however an explicit numerical argument forces compilation anyway).
Compile One Macro
C Compile macro to be tried out.
Process the buffer (or current page of it) like MM Compress File},
then put the result into the Q-register given as a string arg.
If the macro starts with a macro name, it will in addition
be put in Q}MM macro name}.
Generate Library
C Make one :EJ file from several source files.
Takes desired name for :EJ file as first string argument,
followed by the names of the input files. A null string argument
(altmode-altmode) ends the argument list.
The input files are all compressed (if they haven't been)
and the COMPRS files are then purified together.
Filename defaulting is sticky;
input FN2's default to >, output FN2's to :EJ.
The defaults are restored after the macro is finished.
Dump Environment
C Dump the current environment.
Takes filenames as suffix string argument.
Dumped environment will look for an init file whose
name is taken from the variable "Editor Name";
but a numeric argument means that ..L is already set up.
@ TECO
C Make XGP listing of macros file.
Example: 73 MM@ TECO}USRCOM >}20FG} (notice that
73 is the page height with the font 20FG).
20FG and 73 are actually the defaults, so that
MM@ TECO}USRCOM}} is equivalent.
Tecdoc
C Look up information on Teco commands.
String arg is command, e.g. MM Tecdoc}F↑B} or MM Tecdoc}FS HPOS}.
Represent a control character with a "↑" not followed by a space.
Spaces elsewhere are ignored.
The format of INFO;TECORD is understood. Type "?" for help.
List TECO FS Flags
C List names of all TECO FS flags.
Commands in file TAGS:
Find Tag
C Visit a tag (string argument).
Jump to the definition of the tag, switching files if necessary.
A string pointer to the tag name may be given as a
prefix arg. A precomma arg says look for a second occurrence
of the tag (search tag table from previous tag, not beginning)
? Save Tag Table
C Write out the tag table if it has been changed.
Next File
C Select the next file in the tags table.
Each of the files described by the selected tags table
is visited one by one if you repeat this macro.
With an argument, we visit the first file in the tag table.
Other macros should call using a comma'd argument ("1,").
Then we return -1 if successful, or 0 if there were no
more files (instead of err'ing).
Tags Search
C Search through all files in a Tags file.
Sets up Control-. to continue the search to the next
occurance of the string through all the files in the current
tags table. If no more files left, beeps and returns to
original buffer. Example: MMTags Search$FOO$$
Tags Query Replace
C Query Replace through all files in a Tags file.
Takes two string arguments just like MM Query Replace.
Sets up Control-. to continue the Query Replace to the next
occurance of the string through all the files in the current
tags table, in case you exit the Query Replace before it is finished.
"!" means replace all the remaining instances in the current file only.
If no more files left, beeps and returns to the original buffer.
Tags File List
C Insert in the buffer a list of all files.
The list comes from the currently-visited tags file, and is
sorted alphabetically.
List Tags
C List all tags in current or specified file.
Specify file with a string arg. All files in the tag table
which contain that argument string will be listed.
Tags Apropos
C List all known tags whose names contain STRINGARG.
MM Tags Apropos$ knows about the following languages:
TECO, PALX, LISP, MIDAS, FAIL, MUDDLE, MACSYMA.
Tags Rescan
C Recompute the tag table and reload it.
Commands in file ABSTR:
Abstract File
C Make an abstract of some of the macros in a file.
Takes three string arguments: a name prefix, a documentation prefix,
and a library file spec. The name prefix and documentation prefixes
are used to filter the macros in the file: only if its name starts
with the name prefix and its documentation with the doc prefix will
a macro be listed. The filespec may also be the library name of a
currently loaded file, as printed by MM List Loaded Files.
Abstract Variables
C Insert names, values and comments of all variables.
Abstract Redefinitions
C List all ↑R commands redefined.
Wall Chart
C Make a wall chart describing ↑R commands.
A wall chart is a list of ↑R command characters, in alphabetical
order, with the names of the macros they run. To cause prefix
characters to be included in the wall chart, mention each prefix
character in a string argument, as a ↑R-command q-reg name
such as .↑RX for ↑X. A null string argument ends the list.
Commands in file GRIND:
Grind Sexp
C Grind the sexp after the pointer.
Uses Q}Miser Column} to decide where to start using "Miser" format,
and Q}Fill Column} as the page width to aim for.
Saves the old sexp on the kill ring.
MACSYMA Grind
C Format MACYSMA code. When called from ↑R mode it grinds
from . to <mark>, unless it is given an argument in which case
it does the command . is in. When called from regular TECO it
the whole buffer if given no argument or <n> MACSYMA commands after
the . if given an argument <n>
Grind one MACSYMA statement
C Grinds one MACSYMA statement. Args delimit
the statement (exclusive of the ; or $)
Commands in file TWENEX:
Strip SOS line numbers
C Remove SOS line numbers from the current buffer.
Deletes all words with the low order bit set.
List Files
C Make a quick directory listing